﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ScreenMonitor.ServerLib
{
    /// <summary>
    /// 为客户端管理器操作类型提供枚举
    /// </summary>
    public enum ClientManagerOperateType
    {
        /// <summary>
        /// 添加操作
        /// </summary>
        Add,
        /// <summary>
        /// 移除操作
        /// </summary>
        Remove
    }

    /// <summary>
    /// 为客户端管理器操作提供事件存储
    /// </summary>
    public class ClientManagerOperateEventArgs:EventArgs
    {
        /// <summary>
        /// 操作类型
        /// </summary>
        public ClientManagerOperateType OperateType { get; private set; }
        /// <summary>
        /// 操作的客户端实例
        /// </summary>
        public ClientObject OperateClient { get; private set; }
        /// <summary>
        /// 获取或设置改操作是否应该被取消
        /// </summary>
        public bool IsCanceled { get; set; }
        /// <summary>
        /// 初始化该对象的实例
        /// </summary>
        /// <param name="OpType"></param>
        /// <param name="Client"></param>
        public ClientManagerOperateEventArgs(ClientManagerOperateType OpType,ClientObject Client)
        {
            this.OperateType = OpType;
            this.OperateClient = Client;
        }
    }

}
